import request from '@/utils/request'

export const menuApi = {
  // 获取菜单列表 - 已接入后端
  getMenus(params = {}) {
    return request.get('/menu', { params })
  },

  // 分页获取菜单列表
  getMenusPaged(pageIndex = 0, pageSize = 10, filters = {}) {
    return request.get('/menu/paged', {
      params: {
        pageIndex,
        pageSize,
        ...filters
      }
    })
  },

  // 获取菜单详情 - 后端缺失，需要补充
  getMenuById(id) {
    return request.get(`/menu/${id}`)
  },

  // 创建菜单 - 已接入后端
  createMenu(data) {
    return request.post('/menu', data)
  },

  // 更新菜单 - 已接入后端
  updateMenu(id, data) {
    return request.put(`/menu/${id}`, data)
  },

  // ❌ 以下接口后端未实现，需要补充

  // 删除菜单 - 后端缺失
  deleteMenu(id) {
    return request.delete(`/menu/${id}`)
  },

  // 获取菜单树形结构 - 后端缺失
  getMenuTree() {
    return request.get('/menu/tree')
  },

  // 获取用户菜单 - 后端缺失
  getUserMenus(userId) {
    return request.get(`/menu/user/${userId}`)
  },

  // 获取角色菜单 - 后端缺失
  getRoleMenus(roleId) {
    return request.get(`/menu/role/${roleId}`)
  },

  // 设置角色菜单 - 后端缺失
  setRoleMenus(roleId, menuIds) {
    return request.post(`/menu/role/${roleId}`, { menuIds })
  },

  // 拖拽排序菜单 - 后端缺失
  sortMenus(sortData) {
    return request.post('/menu/sort', sortData)
  }
}
